A computing device may perform one or more control functions for a user, thereby allowing the user to interact with the computing device. For example, control functions may include scrolling displayed content that includes text or images, navigating through selections in a displayed list of menu items, relocating one or more displayed objects, or various actions that require use of a cursor or other tool for selecting and/or acting upon certain objects. While using some computing devices, a user may employ an input object (such as a stylus or the user's finger or hand) to perform an input gesture to cause the computing device to perform a control function. Such input gestures may include a directional interaction such as a slide gesture performed at an input device associated with the computing device (e.g., a presence-sensitive input device such as a touch pad, track pad, or touchscreen).
Some approaches to direction-based control functions may require that a user must stop a first input gesture before he or she can effectively change control functions by performing a second input gesture. For example, the user may be required to stop a slide gesture in a first direction of movement by removing an input object from the input device, and then perform a second input gesture in order to cause a control function to be performed in accordance with a second direction of movement of the second input gesture. Such approaches may therefore not allow for the seamless switching of control functions during an input gesture.
Further, some users may perform an input gesture in a direction of movement that is unintentionally not aligned with a particular axis. (More specifically, the movement of such input gestures may slightly deviate from an intended direction at one or more points.) In some such systems, such slight deviations from a predetermined path may cause the system to incorrectly interpret the deviation as an intention by the user to change control functions, resulting in performance by the system of one or more control functions that may not be consistent with the user's intentions.